Gamification is the use of game thinking, game mechanics, reputation mechanics, and/or social mechanics in a non-game context to engage users and/or solve problems. Gamification can be used in applications and processes to improve user engagement, return on investment, data quality, timeliness, and learning. Gamification techniques strive to leverage people's natural desires for competition, achievement, status, self-expression, altruism, and closure.
One gamification strategy is rewards for players who accomplish desired tasks. Types of rewards include points, achievement badges or levels, the filling of a progress bar, and providing the user with virtual currency. Competition is another element of games that can be used in gamification. Making the rewards for accomplishing tasks visible to other players or providing leader boards are ways of encouraging players to compete.
Another approach to gamification is to make existing tasks feel more like games. Some techniques used in this approach include adding meaningful choice, onboarding with a tutorial, increasing challenge, and adding narrative.